const jwt = require("jsonwebtoken");

const auth = (req, res, next) => {
  const authHeader = req.headers.authorization;

  // 检查是否有 Authorization 头
  if (!authHeader || !authHeader.startsWith("Bearer ")) {
    return res.status(200).json({ code: 401, msg: "未提供 token" });
  }

  const token = authHeader.split(" ")[1]; // 提取 token

  try {
    const secret = process.env.JWT_SECRET;
    const decoded = jwt.verify(token, secret); // 解析 token
    req.user = decoded; // 把用户信息附加到请求对象上（通常是 { id, email, ... }）
    next(); // 放行请求
  } catch (err) {
    return res.status(200).json({ code: 401, msg: "无效的 token" });
  }
};

module.exports = auth;
